<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			/*函数的声明方式*/
			//方式一
			function demo1(){
				alert("函数一")
			}
			demo1();
			//方式二
			var demo2=function(){
				alert("函数声明二")
			}
			demo2();
			//方式三	函数本身就是一种对象		了解
			var demo3=new Function("alert('函数声明三')");
			demo3();
			
			/********函数中的参数********/
			function demo4(a,b){
				/*函数打印在控制台*/
				console.log(a+"....."+b);
			}
			demo4(1,2);//1.....2
			demo4(1);//1.....undefined
			demo4(1,2,3);//1....2
			
			/*函数中的返回值问题*/
			function demo5(a){
				console.log("参数值"+a);
				return a;
			}
			//alert(demo5(5));
			/*var a=10;
			demo5(a);*/
			var a = function(){
				console.log("我是函数a")
			}
			demo5(a); /*function(){console.log("我是函数a")}*/
						
			function demo6(b){
				/*加了函数执行符（）*/
				console.log("参数值"+b());
				return b;
			}
			var b = function(){
				console.log("我是函数b");
			}
			demo6(b);
		</script>
	</head>
	<body>
	</body>
</html>
<!--
	函数声明的三种方式
(1)	function 函数名（）{
		函数体
	}

(2)  	var   函数名=function(){
				函数体
			}
			
	（3）  var 函数名=new Function("函数体");	

参数的传递：形参的个数可以和实参的不一样

函数的返回值	如果没有return  这时候返回undefined
()  函数执行符
-->